⚔️ GPU vs NPU 架构差异对比

NVIDIA H100 GPU 华为昇腾 NPU

🎮 GPU 架构

NVIDIA H100
graph TB subgraph Host["💻 主机"] CPU["CPU"] DRAM["DRAM"] end subgraph GPU["🎮 GPU 芯片"] PCIe["PCIe"] GPC["GPC 调度"] subgraph SM["SM (×144)"] CUDA["CUDA ×128"] TC["Tensor Core ×4"] SFU["SFU ×8"] end L1["L1 128KB"] L2["L2 96MB"] MC["内存控制器"] HBM["HBM3 80GB"] end CPU --> PCIe --> GPC --> SM SM --> L1 --> L2 --> MC --> HBM

🧠 NPU 架构

华为昇腾
graph TB subgraph Host["💻 主机"] CPU["CPU"] DRAM["DRAM"] end subgraph NPU["🧠 NPU 芯片"] PCIe["PCIe"] DVPP["DVPP 预处理"] HCCL["HCCL 通信"] subgraph AICore["AI Core (×32)"] Cube["Cube ×1"] Vector["Vector ×1"] Scalar["Scalar ×1"] end MTE["MTE 转置"] L2["L2 缓存"] MC["内存控制器"] HBM["HBM3 80GB"] end CPU --> PCIe --> DVPP --> AICore AICore --> MTE --> L2 --> MC --> HBM

📊 详细对比 GPU vs NPU · 核心差异一览

维度 🎮 NVIDIA H100 GPU 🧠 华为昇腾 NPU
设计理念 通用并行计算 (GPGPU)
图形 + 计算 + AI
特定域架构 (DSA)
专注 AI 训练/推理
🎯
计算核心 CUDA 核心 (标量) ×18,432
Tensor Core (矩阵) ×576
Cube (矩阵) ×32
Vector (向量) ×32
Scalar (标量) ×32
⚖️
矩阵单元 Tensor Core
每 SM 4 个 · 全芯片 576 个
16×16×16 矩阵乘加
Cube
每 AI Core 1 个 · 全芯片 32 个
16×16×16 矩阵乘加
⚖️
标量/向量 CUDA 核心 做标量 (FP32/FP64)
无专用向量单元,用 CUDA 模拟
Scalar 做标量 (控制流)
Vector 做向量 (激活/归一化)
专用向量单元
🥇 NPU
数据格式转换 软件实现 (CUDA 代码)
需手动优化内存排布
MTE 硬件加速
Img2Col / 转置 硬件完成
提升卷积效率
🥇 NPU
精度支持 CUDA: FP32 FP64
Tensor Core: FP16 BF16 FP8 INT8
Cube: FP16 INT8
Vector: FP16 FP32
Scalar: 控制流
⚖️
峰值算力 FP32: 67 TFLOPS
FP16: 1.2 PFLOPS
FP8: 2.4 PFLOPS
INT8: 2.4 POPS
FP16: 256 TFLOPS
INT8: 640 TOPS
(单芯片 32 AI Core)
🥇 GPU
显存 HBM3 · 80 GB
带宽 1.5 TB/s
HBM2e/HBM3 · 64-80 GB
带宽 400-1200 GB/s
🥇 GPU
缓存层次 寄存器 256KB/SM
L1 128KB/SM · L2 96MB 全局
寄存器 私有
L0/L1 ~64KB · UB 248KB · L2 共享
⚖️
软件生态 CUDA · 成熟生态
PyTorch/TensorFlow 原生支持
CANN · 快速追赶
PyTorch/MindSpore 支持
🥇 GPU
多卡互联 NVLink 4.0
双向 900 GB/s · 最大 18 卡
HCCL
对标 NCCL · 支持集群扩展
🥇 GPU
典型场景 图形渲染 · 科学计算
AI 训练/推理 · 通用加速
AI 训练/推理
数据中心 · 边缘推理
🎯
功耗 H100: ~700W
风冷/液冷
昇腾910: ~350W
昇腾310: 8W (边缘)
🥇 NPU
🌟 总结 通用性强 · 生态成熟
算力峰值更高 · 适合多种负载
AI 专用优化 · 能效比高
MTE 硬件转置 · Vector 专用单元
⚖️
GPU 优势 NPU 优势 持平 🥇 优胜 · ⚖️ 持平 · 🎯 定位不同

🧠 核心差异总结

🎮 GPU 思路

大量通用核心 (CUDA) 处理各种任务,
Tensor Core 加速矩阵运算。
通用性强,生态成熟,适合多种负载混合部署。

🧠 NPU 思路

专用架构 (Cube/Vector/Scalar) 针对 AI 优化,
MTE 硬件加速数据格式转换,
Vector 专用单元处理激活/归一化。
能效比高,专用性强,适合纯 AI 工作负载。

⚡ 关键差异

GPU = CUDA (标量) + Tensor Core (矩阵)
NPU = Cube (矩阵) + Vector (向量) + Scalar (标量)
NPU 多了 专用 Vector 单元,
少了 通用性,多了 AI 专用优化